/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package image.utils;

import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

/**
 *
 * @author tommy
 */
public interface ImageUtilities {
	public BufferedImage openImage(File file) throws IOException;
	
	public BufferedImage openRawImage(File rawFile, int height, int width, boolean isColor) throws IOException, ArrayIndexOutOfBoundsException;
	
	public BufferedImage openPgmImage(File file, boolean isColor) throws IOException;
	
	public BufferedImage toPowerOfTwo(BufferedImage img);
	
	public BufferedImage addPaddingEdge(BufferedImage src, int n);
	
	public BufferedImage createDegrade(int height, int width);
	
	public BufferedImage createDegrade(int height, int width, Color start, Color end);
	
	public BufferedImage toGrayScale(BufferedImage src);
	
	public BufferedImage toRGB(BufferedImage src);
	
	public BufferedImage blackImage(int n, int m);

	public boolean saveImage(File imageFile, BufferedImage img);
}
